
#include <iostream>
#include "../include/q.h"

using namespace mt;
using namespace std;

int main(int argc, char** argv) {
  Q<int> x;
  Q<int> y(1);
  Q<int> z(1,2);
  Q<int> a(z);
  cout << "x : " << x.getNumerator() << "/" <<x.getDenominator() << endl;
  cout << "y : " << y.getNumerator() << "/" <<y.getDenominator() << endl;
  cout << "z : " << z.getNumerator() << "/" <<z.getDenominator() << endl;
  cout << "a : " << a.getNumerator() << "/" <<a.getDenominator() << endl;
  Q<int> b;
  Q<int> c;
  Q<int> d;
  Q<int> e;
  b = x + y;
  c = z - y;
  d = z * a;
  e = y / a;
  cout << "x+y : " << b.getNumerator() << "/" <<b.getDenominator() << endl;
  cout << "z-y : " << c.getNumerator() << "/" <<c.getDenominator() << endl;
  cout << "z*a : " << d.getNumerator() << "/" <<d.getDenominator() << endl;
  cout << "y/a : " << e.getNumerator() << "/" <<e.getDenominator() << endl;
  cout << (z == a) << endl; //true
  cout << (z == y) << endl; //false
  cout << (z != a) << endl; //false
  cout << (z != y) << endl; //true
  cout << (z <= a) << endl; //true
  cout << (z <= y) << endl; //true
  cout << (z >= a) << endl; //true
  cout << (z >= y) << endl; //false
  cout << (z < a) << endl; //false
  cout << (z < y) << endl; //true
  cout << (z > a) << endl; //false
  cout << (z > y) << endl; //false
  return 0;
}
